//************************************
struct TNORMAL_TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float2 UV : TEXCOORD0;
};


struct TNORMAL_TEXTURED_VERTEX_PS
{
    float4 HPosition : POSITION;
    float2 UV : TEXCOORD0;
    float3 WorldNormal : TEXCOORD1;
    float4 WorldPosition : TEXCOORD2;
};

//****************************

struct TNORMAL_COLORED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float4 Color : COLOR;
};

struct TNORMAL_COLORED_VERTEX_PS 
{
	float4 HPosition : POSITION;
    float4 Color : COLOR;
    float3 WorldNormal : TEXCOORD0;
    float4 WorldPosition : TEXCOORD1;
};

//************************************


struct TNORMAL_2TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
};

struct TNORMAL_2TEXTURED_VERTEX_PS 
{
	float4 HPosition : POSITION;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
	float3 WorldNormal : TEXCOORD2;
	float4 WorldPosition : TEXCOORD3;
};

//************************************

struct TNORMAL_COLORED_TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float4 Color : COLOR;
	float2 UV : TEXCOORD0;
};

struct TNORMAL_COLORED_TEXTURED_VERTEX_PS 
{
	float4 HPosition : POSITION;
	float2 UV : TEXCOORD0;
	float3 WorldNormal : TEXCOORD1;
	float4 WorldPosition : TEXCOORD2;
	float4 Color : COLOR;
};

//************************************

struct TNORMAL_COLORED_2TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float4 Color : COLOR;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
};

struct TNORMAL_COLORED_2TEXTURED_VERTEX_PS 
{
	float4 HPosition : POSITION;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
	float3 WorldNormal : TEXCOORD2;
	float4 WorldPosition : TEXCOORD3;
	float4 Color : COLOR;
};

//************************************

struct TNORMAL_TANGENT_BINORMAL_TEXTURED_VERTEX_VS 
{
    float3 Position : POSITION;
    float3 Normal : NORMAL;
    float2 UV : TEXCOORD0;
	float3 Tangent : TANGENT;
	float3 Binormal :BINORMAL;
};


struct TNORMAL_TANGENT_BINORMAL_TEXTURED_VERTEX_PS
{
    float4 HPosition : POSITION;
    float2 UV : TEXCOORD0;
    float3 WorldNormal : TEXCOORD1;
    float4 WorldPosition : TEXCOORD2;
	float3 WorldTangent : TEXCOORD3;
	float3 WorldBinormal: TEXCOORD4;
};


struct TNORMAL_TANGENT_BINORMAL_2TEXTURED_VERTEX_VS 
{
    float3 Position : POSITION;
    float3 Normal : NORMAL;
    float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
	float3 Tangent : TANGENT;
	float3 Binormal :BINORMAL;
};


struct TNORMAL_TANGENT_BINORMAL_2TEXTURED_VERTEX_PS
{
    float4 HPosition : POSITION;
    float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
    float3 WorldNormal : TEXCOORD2;
    float4 WorldPosition : TEXCOORD3;
	float3 WorldTangent : TEXCOORD4;
	float3 WorldBinormal: TEXCOORD5;
};  


//************************
struct CAL3D_HW_VERTEX_VS {
	float3 Position : POSITION;
	float4 Weight : BLENDWEIGHT;
	float4 Indices : BLENDINDICES;
	float4 Normal : NORMAL;
	float4 Tangent : TANGENT0;
	float4 BiNormal : BINORMAL0;
	float2 TexCoord : TEXCOORD0;
};


struct CAL3D_HW_VERTEX_PS
{
	float4 HPosition : POSITION;
	float2 UV : TEXCOORD0;
	float3 WorldNormal : TEXCOORD1;
	float4 WorldPosition : TEXCOORD2;
	float3 WorldTangent : TEXCOORD3;
	float3 WorldBinormal : TEXCOORD4;
};

//************************************

//-----HASTA AQUI ESTAN HECHOS LOS GBUFFER

//************************************
struct TNORMAL_COLORED_TANGENT_BINORMAL_2TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float4 Tangent : TANGENT;
	float4 Binormal : BINORMAL;
	float4 Color : COLOR;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
};

struct TNORMAL_COLORED_TANGENT_BINORMAL_2TEXTURED_VERTEX_PS
{
	float3 HPosition : POSITION;
	float4 Tangent : TANGENT;
	float4 Binormal : BINORMAL;
	float4 Color : COLOR;
	float3 WorldNormal : TEXCOORD0;
	float2 UV : TEXCOORD1;
	float2 UV2 : TEXCOORD2;
	float4 WorldPosition : TEXCOORD3;
};

//************************************

struct TNORMAL_COLORED_TANGENT_BINORMAL_TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float3 Normal : NORMAL;
	float3 Color : COLOR;
	float4 Tangent : TANGENT;
	float4 Binormal : BINORMAL;
	float2 UV : TEXCOORD0;
};

struct TNORMAL_COLORED_TANGENT_BINORMAL_TEXTURED_VERTEX_PS 
{
	float4 HPosition : POSITION;
	float4 WorldPosition : TEXCOORD0;
	float3 WorldNormal : TEXCOORD1;
	float3 Color : COLOR;
	float4 WorldTangent : TEXCOORD2;
	float4 WorldBinormal : TEXCOORD3;
	float2 UV : TEXCOORD4;
};

//************************************

struct TNORMAL_REFLECTION_TEXTURED_VERTEX_PS
{
    float4 HPosition : POSITION;
    float2 UV : TEXCOORD0;
    float3 WorldNormal : TEXCOORD1;
    float4 WorldPosition : TEXCOORD2;
	float3 Reflect: TEXCOORD3;
};


//-----FALTA HACER EL VS DE TNORMAL_REFLECTION_TEXTURED_VERTEX Y TODO EL TNORMAL_REFLECTION_2TEXTURED_VERTEX

//************************************

//-----HASTA AQUÍ LOS QUE FALTAN POR HACER



//-----A PARTIR DE AQUÍ NO HACE FALTA INCLUIR EN GBUFFER

//************************************


struct TCOLORED_VERTEX_VS 
{
	float3 Position : POSITION;
	float4 Color : COLOR;
};
//************************************
struct T2TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
};

struct T2TEXTURED_VERTEX_PS
{
	float4 HPosition : POSITION;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
};
//************************************

struct TCOLORED_2TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float4 Color : COLOR;
	float2 UV : TEXCOORD0;
	float2 UV2 : TEXCOORD1;
};
//************************************


struct TCOLORED_TEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float4 Color : COLOR;
	float2 UV : TEXCOORD0;
};
//************************************
struct TTEXTURED_VERTEX_VS 
{
	float3 Position : POSITION;
	float2 UV : TEXCOORD0;
};

struct TTEXTURED_VERTEX_PS
{
	float4 HPosition : POSITION;
	float2 UV : TEXCOORD0;
};
//************************************


